package com.bitoon.basketdudes.web.jpa;

import java.io.Serializable;
import java.util.Date;
import java.util.List;
import javax.persistence.*;

@Entity
@Table(name = "equipo", schema="basket")

@NamedQueries({
    /*
    @NamedQuery(name = "EquipoRankingNetwork.findByIdUsuario",
        query = "SELECT e FROM EquipoRankingNetwork e WHERE e.usuario.id = :idUsuario"),
    @NamedQuery(name = "EquipoRankingNetwork.findById",
        query = "SELECT e FROM EquipoRankingNetwork e WHERE e.id = :idEquipo"),
    @NamedQuery(name = "EquipoRankingNetwork.findByNombreUrl",
        query = "SELECT e FROM EquipoRankingNetwork e WHERE e.nombreUrl = :nombre"),
    @NamedQuery(name = "EquipoRankingNetwork.findByFirstLetters",
        query = "SELECT e FROM EquipoRankingNetwork e WHERE e.nombre >= :letraDesde and e.nombre < :letraHasta ORDER BY e.nombre")
     * 
     */
})

public class EquipoRankingNetwork implements Serializable {
    private static long serialVersionUID = 1L;

    @Id
    @SequenceGenerator(name="equipo_id_generator", sequenceName="basket.equipo_id_seq", allocationSize=1)
    @GeneratedValue(strategy=GenerationType.SEQUENCE, generator="equipo_id_generator")
    @Basic(optional=false)
    private Integer id;

    @ManyToOne
    @JoinColumn(name="usuario_id")
    private UsuarioParcial usuario;

    private String nombre;

    @Column(name="nombre_url")
    private String nombreUrl;

    private String nick;
    @Column(name="f_alta")
    @Temporal(TemporalType.TIMESTAMP)
    private Date fechaAlta;

    private Integer puntos;
    @Column(name="jugadores_max")
    private Integer maxJugadores;
    @Column(name="m_entrenador_id")
    private Integer idEntrenador;
    private Integer nivel;
    private Integer experiencia;
    private float   powerplay;

    //@OneToMany(cascade = CascadeType.ALL, mappedBy = "equipo")
    @OneToMany(mappedBy = "equipo")
    private List<RankingNetwork> networkList;

    public void EquipoRanking() {
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    @Transient
    private String nombreCompleto;
    public String getNombreCompleto() {
        return nombre + " " + nick;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public String getNick() {
        return nick;
    }

    public void setNick(String nick) {
        this.nick = nick;
    }

    public Date getFechaAlta() {
        return fechaAlta;
    }

    public void setFechaAlta(Date fechaAlta) {
        this.fechaAlta = fechaAlta;
    }

    public Integer getPuntos() {
        return puntos;
    }

    public void setPuntos(Integer puntos) {
        this.puntos = puntos;
    }

    public Integer getMaxJugadores() {
        return maxJugadores;
    }

    public void setMaxJugadores(Integer maxJugadores) {
        this.maxJugadores = maxJugadores;
    }

    public Integer getIdEntrenador() {
        return idEntrenador;
    }

    public void setIdEntrenador(Integer idEntrenador) {
        this.idEntrenador = idEntrenador;
    }

    public Integer getNivel() {
        return nivel;
    }

    public void setNivel(Integer nivel) {
        this.nivel = nivel;
    }

    public Integer getExperiencia() {
        return experiencia;
    }

    public void setExperiencia(Integer experiencia) {
        this.experiencia = experiencia;
    }

    public float getPowerplay() {
        return powerplay;
    }

    public void setPowerplay(float powerplay) {
        this.powerplay = powerplay;
    }

    public UsuarioParcial getUsuario() {
        return usuario;
    }

    public void setUsuario(UsuarioParcial usuario) {
        this.usuario = usuario;
    }

    public String getNombreUrl() {
        return nombreUrl;
    }

    public void setNombreUrl(String nombreUrl) {
        this.nombreUrl = nombreUrl;
    }

    public List<RankingNetwork> getNetworkList() {
        return networkList;
    }

    public void setNetworkList(List<RankingNetwork> networkList) {
        this.networkList = networkList;
    }

}